As computer display sizes increase and as frame buffer pixel depths increase frame buffer memory access bandwidth becomes a constraining factor in how quickly a given image can be altered and re-displayed. Computer graphics operations such as scrolling, area clearing and filling, and moving one area of the display to another are all graphics operations which are limited by a processor's access bandwidth into frame buffer memory. Furthermore, these operations are typically performed very frequently, for example, scrolling a document in a word processor, spreadsheet or graphics program; moving a window on a display; clearing or filling an area whenever a window is partially or completely redrawn; and, filling or clearing rectangular areas whenever a menu is pulled down.
Still further, due to the length of time required for these graphics operations in many current frame buffer designs, and due to the frequency of their use, these types of operations have a great affect on the perceived speed of the computer as a whole for most users. This is especially true with 24 to 32 bits per pixel modes because the amount of memory to be moved in these operations is proportional to the frame buffer pixel depth.
Using a fast page access mode (a feature commonly known in the art) substantially reduces the average access time of frame buffer memory so long as most accesses are in-page hits. Whether most frame buffer memory accesses are in-page hits depends generally, however, upon the particular graphics operations being performed.
Some operations that benefit from frame buffer memory fast page access mode are clear and fill operations and operations which transfer data from an offscreen pixel map. These operations usually benefit from frame buffer memory fast page mode accesses because these operations tend to perform a sequence of consecutive memory write cycles to the same page in the frame buffer memory. (Note that a page in frame buffer memory is generally synonymous with a row in frame buffer memory but may correlate to only a portion of a display row, as is well known in the art.) Because frame buffer memory structure usually aligns Video Random Access Memory (VRAM) pages on display lines 5or rows, the above mentioned operations result in a series of in-page hits to the frame buffer memory, thus reducing the average frame buffer memory access time. Therefore, operating the frame buffer in fast page access mode generally helps these types of graphics operations.
Graphics operations which merely modify data in the frame buffer memory typically perform a sequence of read/modify/write cycles to the same memory location and hence tend to operate on the same page in the frame buffer memory. Thus these operations can also benefit from the use of fast page access mode.
However, scrolling or moving a section of display memory is typically implemented via a series of read/write cycles (i.e., repetitively read a word from a source location then write it to a destination location in the frame buffer memory). In most cases, the read access occurs in a different VRAM memory page (i.e., a different row of pixel information in the frame buffer memory) than the write cycle, effectively causing an in-page miss for every frame buffer memory access. In this case, operating the frame buffer in fast page access mode would generally degrade performance. There are other instances in which this is also the case, such as generating and displaying steep lines.
With techniques of the prior art, as has been explained, there are some operations which are helped by fast page access mode operation, and some operations which are hindered.